package Net.udp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

/**
 * 接收端:多次交流
 * * 1.使用DatagramSocket创建接收端  创建接收端口
 * 2.准备容器 封装成DatagramPacket包裹
 * 3.阻塞式接收包裹 raceive(DatagramPacket p)
 * 4.分析数据
 *      byte[] getDate();
 *             getLength();
 * 5.释放资源
 */
public class UdpTalkServer {
    public static void main(String[] args) throws Exception {
        System.out.println("接收方启动中...");
        //1.使用DatagramSocket创建接收端  创建接收端口
        DatagramSocket server = new DatagramSocket(9999);
        while (true) {
            // 2.准备容器 封装成DatagramPacket包裹
            byte[] container = new byte[1024 * 60];
            DatagramPacket packet = new DatagramPacket(container, 0, container.length);
            //3.阻塞式接收包裹 raceive(DatagramPacket p)
            server.receive(packet);
            //4.分析数据
            //    byte[] getDate();
            //            getLength();
            byte[] datas = packet.getData();
            int len = packet.getLength();
            String data = new String(new String(datas, 0, len));
            System.out.println(data);
            if(data.equals("bye")){
                break;
            }
        }
        //5.释放资源
        server.close();
    }
}
